<?php

namespace common\models\datas;


use Yii;
use yii\helpers\Html;
use common\components\extenders\MenuManage;

/**
 * This is the model class for table "{{%product_type_attr}}".
 *
 * @property integer $id
 * @property string $name
 * @property integer $type_id
 * @property integer $is_index
 * @property integer $input_type
 * @property string $attr_value
 * @property string $default_value
 * @property integer $listorder
 */
class ProductTypeAttr extends \common\components\bases\BaseModel
{
    /**
     * @inheritdoc
     */
//    public function type($type){
//        switch($type){
//            case 'checkobx':
//                return '错误提示checkbox';
//                break;
//            case 'dropdownlist':
//                return '错误提示drop';
//                break;
//            case 'radiolist':
//                return '错误提示radion';
//                break;
//            default:
//                return '';
//        }
//    }

    public function type($type)
    {
        if ($type == 'checkbox') {
            return '错误提示checkbox';
        } elseif ($type == 'dropdownlist') {
            return '错误提示drop';
        } elseif ($type == 'radiolist') {
            return '错误提示radion';
        } else {
            return '';
        }
    }

    public static function tableName()
    {
        return '{{%product_type_attr}}';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['name'], 'required'],
            [['type_id', 'is_index', 'listorder'], 'integer'],
            [['attr_value', 'input_type', 'default_value'], 'string'],
            [['name'], 'string', 'max' => 50],
            [['attr_value'], 'required', 'when' => function ($model) {
                return $model->input_type == 'radiolist' || $model->input_type == 'checkbox' || $model->input_type == 'dropdownlist';
            },
                'whenClient' => "function (attribute, value) {
                return $('#producttypeattr-attr_value input:checked').val() == 'radiolist'||$('#producttypeattr-attr_value input:checked').val() == 'checkbox'||$('#producttypeattr-attr_value input:checked').val() == 'dropdownlist';
            }",
                'message' => $this->type($this->input_type),
            ],

        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'id' => Yii::t('common', '自动编号'),
            'name' => Yii::t('common', '属性名称'),
            'type_id' => Yii::t('common', '所属类型'),
            'is_index' => Yii::t('common', '是否可检索'),
            'input_type' => Yii::t('common', '属性录入方式'),
            'attr_value' => Yii::t('common', '属性值'),
            'default_value' => Yii::t('common', '默认值'),
            'listorder' => Yii::t('common', '排序'),
        ];
    }

    public function extraFields()
    {
        return [
            'backend_operate' => function () {
//                $menu_cache=Fun::cache('menu_main_cache');
//
//                if(isset($menu_cache[82])) {
//                    $menu_update_info = $menu_cache[82];
//                    $menu_list['update'] = Html::a($menu_update_info['name'], null, [
//                        'rel' => 'dialog-add-iframe',
//                        'class'=>'upDate-Url',
//                        'data' => [
//                            'url' => Url::to([$menu_update_info['c'] . '/' . $menu_update_info['a'], 'id' => $this->id, 'type_id' => 3]),
//                            'size' => $menu_update_info['size']
//                        ]
//                    ]);
//                }
//                if(isset($menu_cache[83])) {
//                    $menu_delete_info = $menu_cache[83];
//                    $menu_list['delete'] = Html::a($menu_delete_info['name'], \yii\helpers\Url::to([$menu_delete_info['c'] . '/' . $menu_delete_info['a'], 'id' => $this->id, 'type_id' => 3]), [
//                        'data' => [
//                            'method' => 'post',
//                            'confirm' => "确定要删除 『 {$this->name} 』 吗？"
//                        ]
//                    ]);
//                }
//                return isset($menu_list)?implode(' | ',$menu_list):'';
                return (new MenuManage(MenuManage::RECORD_ITEM_TOOLBAR, $this->attributes))->create();

            },
            'listorder_input' => function () {
                return Html::textInput("listorder[{$this->id}]", $this->listorder, ['size' => 2, 'class' => 'input-text']);
            }
        ];
    }

    public function fields()
    {
        $fields = parent::fields();
        $fields['input_type'] = function () {
            switch ($this->input_type) {
                case 'text':
                    return \Yii::t('common', '文本框');
                case 'radioList':
                    return \Yii::t('common', '单选按钮');
                case 'checkboxList':
                    return \Yii::t('common', '复选框');
                case 'dropDownList':
                    return \Yii::t('common', '下拉菜单');

            }
        };

        return $fields;
    }

}
